///**
// * Alipay.com Inc.
// * Copyright (c) 2004-2017 All Rights Reserved.
// */
//package com.zxh.spDemo.util;
//
//import com.alibaba.common.lang.StringUtil;
//import com.github.pagehelper.StringUtil;
//
//import java.util.regex.Pattern;
//
///**
// * 脱敏工具类
// *
// * @author qi.wqwq
// * @version $Id: HiddenUtil.java, v 0.1 2012-9-26 11:02:49 qi.wqwq Exp $
// */
//public class HiddenUtil {
//
//    /**
//     * 正则表达式：验证手机号
//     */
//    public static final String REGEX_MOBILE = "\\d{11}$";
//
//    public static String getHiddernStr(String src, int hiddenLength){
//        if(hiddenLength <= 1){
//            return getHiddenName(src);
//        }
//        String left = StringUtil.left(src, hiddenLength);
//        String right = StringUtil.right(src, hiddenLength);
//        StringBuffer sb = new StringBuffer(left);
//        for(int j = 0; j < hiddenLength; j++){
//            sb.append("*");
//        }
//        sb.append(right);
//
//        return sb.toString();
//    }
//
//    public static String getHiddenMobile(String mobileNo) {
////        if (ValidateUtil.isValidMobile(mobileNo)) {
////            return StringUtil.left(mobileNo, 3) + "****" + StringUtil.right(mobileNo, 4);
////        }
//        return mobileNo;
//    }
//
//    public static String getHiddenMobileH5(String mobileNo) {
////        if (ValidateUtil.isValidMobile(mobileNo)) {
////            return StringUtil.left(mobileNo, 3) + "******" + StringUtil.right(mobileNo, 2);
////        }
//        return mobileNo;
//    }
//
//    public static String getHiddenCertNo(String certNo) {
//        if (!StringUtil.isBlank(certNo)) {
//            if (certNo.length() < 18) {
//                return getHiddenHomeVisitPermitNo(certNo);
//            }
//            return StringUtil.left(certNo, 5) + "**********" + StringUtil.right(certNo, 3);
//        }
//        return certNo;
//    }
//
//    public static String getHiddenHomeVisitPermitNo(String certNo) {
//        if (StringUtil.isBlank(certNo)) {
//            return certNo;
//        }
//        return StringUtil.left(certNo, 2) + StringUtil.repeat("*", certNo.length() - 4)
//               + StringUtil.right(certNo, 2);
//    }
//
////    public static String getHiddenEmail(String email) {
////        if (ValidateUtil.isValidEmail(email)) {
////            String name;
////            int index = StringUtil.indexOf(email, "@");
////            if (index <= 3) {
////                name = StringUtil.substring(email, 0, 1) + "***";
////            } else {
////                name = StringUtil.substring(email, 0, index - 3) + "***";
////            }
////            return name + StringUtil.substring(email, index);
////        }
////        return email;
////    }
//
//    public static String getHiddenName(String name) {
//        if (StringUtil.isBlank(name)) {
//            return name;
//        }
//        return StringUtil.overlay(name, "*", 0, 1);
//    }
//
////    public static String getHiddenLogonId(String logonId) {
////        if (StringUtil.isNotBlank(logonId)) {
////            if (StringUtil.contains(logonId, '@')) {
////                return HiddenUtil.getHiddenEmail(logonId);
////            } else {
////                return HiddenUtil.getHiddenMobile(logonId);
////            }
////        }
////        return logonId;
////    }
//
////    public static String getHiddenUsername(String userName) {
////        if (StringUtil.isNotBlank(userName)) {
////            if (StringUtil.contains(userName, '@')) {
////                return HiddenUtil.getHiddenEmail(userName);
////            } else {
////                if (Pattern.matches(REGEX_MOBILE, userName)) {
////                    return HiddenUtil.getHiddenMobile(userName);
////                } else {
////
////                    return HiddenUtil.getHiddenChineseName(userName);
////                }
////
////            }
////        }
////        return userName;
////    }
//
//    /**
//     *   中文姓名隐藏规则：
//     *   如果要隐藏，隐藏第一个字
//     *   a、两个字的，隐藏第一个字（例：*宝）
//     *   b、三个字的，隐藏第一个字（例：*小宝）
//     *   c、六个字以下（含），三个字以上，只显示最
//     *   后两个字（例：****小宝）
//     *   d、六个字以上的，显示前第一个字和最后两
//     *   个
//     *
//     */
//    public static String getHiddenChineseName(String userName) {
//        if (StringUtil.isNotBlank(userName)) {
//
//            int small = 3;
//            int medium = 6;
//            if (userName.length() <= small ) {
//                return StringUtil.overlay(userName, "*", 0, 1);
//            } else if (userName.length() <= medium ) {
//                return StringUtil.overlay(userName, StringUtil.repeat("*",userName.length() -2), 0, userName.length() -2);
//            } else {
//                return StringUtil.overlay(userName, StringUtil.repeat("*",userName.length() -3), 1, userName.length() -2);
//            }
//        }
//        return userName;
//    }
//
//    public static String getHiddenStr(String str, int length) {
//
//        if (StringUtil.isBlank(str)) {
//            return "";
//        }
//        int len = str.length();
//        if (len > length) {
//            return StringUtil.overlay(str, "...", length, len);
//        }
//        return str;
//    }
//
//    public static void main(String[] args){
//        String qtvzld = HiddenUtil.getHiddenChineseName("qtvzld");
//        System.out.println("--------------"+qtvzld);
//    }
//
//}